In a computer system, the temperatures, voltages and fan speeds of hardware devices are monitored by a hardware monitoring module. As a branch of computers, servers utilize baseboard management control (BMC) chips as hardware monitoring functions for their motherboards.
During the production and development of servers, the manufacturers tend to produce multiple versions of their products, such as high-configuration and low-configuration versions, in order to meet different needs of users. Major differences between these configurations lie in hardware monitoring capabilities and costs.
At present, most low-configuration servers use one of the following solutions for hardware monitoring:
1) a customized BMC chip, which costs much;
2) a micro-control unit (MCU) such as a hardware monitor capable of monitoring the temperatures of memories, a central processing unit (CPU), a platform path hub (PCH) and thermal sensors, which usually requires the compatibility with multiple protocols such as those for system management bus (SMbus) interfaces, inter-integrated circuit (I2C) interfaces and platform environment control interfaces (PECIs), resulting in a long development cycle;
3) a dedicated embedded controller (EC), which has some redundant capabilities and is thus also costly, despite its capabilities of integrating a host of protocols including the SMbus, I2C and PECI protocols;
4) a low-cost hardware monitor, whose temperature sensors may not be able to monitor an adequate number of sites, and thus may not meet the requirement of the server. In addition, the low-cost hardware monitor fails to provide each of the temperature sensors with an independent temperature compensation value, leading to temperature differences between different areas that are too significant to allow reasonable weights for the control of fans. For example, the temperature of the memory area is generally in the range from 60° C. to 75° C., and a temperature threshold for fan acceleration for this area is set to 65° C. Additionally, as the temperature of an input/output (I/O) area generally ranges from 50° C. to 65° C., its fan acceleration temperature threshold is set to 55° C. If a temperature compensation value of 10° C. is not provided to the I/O area, when these areas are controlled by the same pulse width modulation (PWM) interface, the control will be always dominated by the area with the higher temperature, leaving the sensor data from the area with the lower temperature threshold ignored.
Therefore, there is a need to develop a new hardware monitoring system for low-configuration servers, which can address the issue of unbalanced weights for fan control.